Aspects of the present invention relate to handling received queries. In particular, the present invention relates to providing an auto-suggest function for complex query construction.
The expansion of modern computing and information storage and retrieval has created an environment where a large amount of information is easily accessible by users who have access to a suitably connected computer. The Internet provides a huge amount of information, much of it in an unstructured form, and more organized information storage systems such as databases still store huge amounts of data that can be very difficult for a user to navigate. The expansion in information availability via the Internet and databases (which can be accessed locally or via connections such as the Internet) has created the technical field of information searching.
There are two different levels of search task that a user might conduct through a user interface provided by a computer. The most common is a keyword search, popular examples of which are provided by web search engines such as Google. This form of searching is generally very well supported and has been significantly enriched with features such as “auto-suggest” (also known as type-ahead and auto-complete), which allows for a very quick, slick searching experience with excellent results for the end user, and a widespread take-up of the services by the general computing population.
The second level of searching is only used by a much more technically advanced computer user population, and consists of more advanced “queries”, which include multiple terms, complex syntax and consider relationships as well as attributes. Examples of these include WSRR (WebSphere® Service Registry and Repository) query creation wizard, RTC (RealThinClient) query builder, Google advanced search and specific languages such as Xpath (designed for the purpose of querying XML documents). However these complex query systems do not receive the same level of support that exists for keyword searching, rather the queries are assembled either with no help or with some guidance over the model only and then finally submitted to the associated database.